package com.ktgj.service.mapper;

import com.ktgj.service.domain.ContractLinkVipchannelPrice;
import com.ktgj.service.domain.Vipchannel;
import com.ktgj.service.domain.VipchannelCommon;
import com.ktgj.service.domain.ViphallComment;
import com.ktgj.service.domain.vo.ChannelVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * VIP通道			
Mapper接口
 * 
 * @author ruoyi
 * @date 2021-09-03
 */
public interface VipchannelMapper 
{
    /**
     * 查询VIP通道			

     * 
     * @param vipchannelId VIP通道			
ID
     * @return VIP通道			

     */
    public Vipchannel selectVipchannelById(Long vipchannelId);

    /**
     * 查询VIP通道			
列表
     * 
     * @param vipchannel VIP通道			

     * @return VIP通道			
集合
     */
    public List<Vipchannel> selectVipchannelList(Vipchannel vipchannel);

    public List<Vipchannel> selectVipchannelAndContractList(Long contractId);

    /**
     * 新增VIP通道			

     * 
     * @param vipchannel VIP通道			

     * @return 结果
     */
    public int insertVipchannel(Vipchannel vipchannel);

    /**
     * 修改VIP通道			

     * 
     * @param vipchannel VIP通道			

     * @return 结果
     */
    public int updateVipchannel(Vipchannel vipchannel);

    /**
     * 删除VIP通道			

     * 
     * @param vipchannelId VIP通道			
ID
     * @return 结果
     */
    public int deleteVipchannelById(Long vipchannelId);

    /**
     * 批量删除VIP通道			

     * 
     * @param vipchannelIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteVipchannelByIds(Long[] vipchannelIds);

    /**
     * 查询所有列表，远程使用
     * @return
     */
    List<Vipchannel> getAll();

    public List<Vipchannel> queryVipchannel(@Param("vipchannelId") Long vipchannelId);

    public Vipchannel queryVipchannelByVipchannelId(Long vipchannelId);

    /**
     * 根据机场三字码查询
     * */
    public List<Vipchannel> selectVipchannelByAirportCode(String airportCode);

    /**
     * 常用服务
     * @param customerId
     * @return
     */
    public List<VipchannelCommon> commonServices(Long customerId);

    /**
     * 根据主键查询vip通道信息
     * */
    public Vipchannel selectVipchannel(Long vipchannelId);

    /**
     * 根据id查询VIP通道价格
     * @param id
     * @return
     */
    public ContractLinkVipchannelPrice selectVipChannelPrice(Long id);

    public int queryVipChannelNumber(@Param("customerId") Long customerId);

    /**
     * VIP通道基本数据列表
     * */
    public List<Vipchannel> selectVipchannelBasic(ChannelVo channelVo);

    /**
     * 删除vip通道信息
     * */
    public int delVipchannel(Long id);
}
